package edu.uoc.tdp.pac4.beans;

import java.io.Serializable;
import java.util.Date;

public class Aula implements Serializable {

	private static final long serialVersionUID = 1L;
	

	private int idAula;
	private String nom;
	private int capacitat;
	private String localitzacio;
	private TipusAula tipusAula;
	private Date dataAlta;
	private Date dataInactivitat;
	
	private Boolean active;
	

	/**
	 * Constructor de la classe Aula Par�metres: id Aula i descripci� aula
	 */
	public Aula(int idA, String nomAul, int cap, String loc, boolean act,
			TipusAula tipus) {
		this.idAula = idA;
		this.nom = nomAul;
		this.capacitat = cap;
		this.localitzacio = loc;
		// this.activa=act;
		this.tipusAula = tipus;
	}

	public Aula() {

	}

	/**
	 * M�tode accessor de lectura retorna id de l'aula
	 */
	public int getIdAula() {
		return idAula;
	}

	/**
	 * M�tode accessor de lectura retorna nom de l'aula
	 */
	public String getNom() {
		return nom;
	}

	/**
	 * M�tode accessor de lectura retorna localitzaci� de l'aula
	 */
	public String getLocalitzacio() {
		return localitzacio;
	}

	/**
	 * M�tode accessor de lectura retorna data d'alta de l'aula
	 */
	public Date getDataAlta() {
		return dataAlta;
	}

	/**
	 * M�tode accessor de lectura retorna data d'inactivitat de l'aula
	 */
	public Date getDataInactivitat() {
		return dataInactivitat;
	}

	/**
	 * M�tode accessor de lectura retorna tipus de l'aula
	 */
	public TipusAula getTipusAula() {
		return tipusAula;
	}
	
	public int getCapacitat() {
		return capacitat;
	}

	/**
	 * M�tode accessor d'escriptura. Guarda la id de l'aula Par�metre idAula
	 */
	public void setIdAula(int idAula) {
		this.idAula = idAula;
	}

	/**
	 * M�tode accessor de escriptura. Guarda el nom de l'aula Par�metre nomAul
	 */
	public void setNom(String nomAul) {
		this.nom = nomAul;
	}

	/**
	 * M�tode accessor de escriptura. Guarda la capacitat de l'aula Par�metre
	 * capAul
	 */
	public void setCapacitat(int capAul) {
		this.capacitat = capAul;
	}

	/**
	 * M�tode accessor de escriptura. Guarda la localitzaci� de l'aula Par�metre
	 * locAul
	 */
	public void setLocalitzacio(String locAul) {
		this.localitzacio = locAul;
	}

	/**
	 * M�tode accessor de escriptura. Guarda l'estatus de l'aula Si l'aula est�
	 * activa i passa a inactiva, es guarda la data d'avui a la variable
	 * dataInactivitat En el cas de passar d'inactiva a activa, la variable
	 * dataInactivitat queda com a null Par�metre actAul
	 */
	public void setDataInactivitat(Date dataInactivitat) {
		this.dataInactivitat = dataInactivitat;
	}

	// pubic clearDataInactivitat() {
	// if(this.getDataInactivitat()!=null) {
	// this.setDataInactivitat()=null;
	// }
	// }

	/**
	 * M�tode accessor de escriptura. Guarda el tipus de l'aula Par�metre tipAul
	 */
	public void setTipusAula(TipusAula tipAul) {
		this.tipusAula = tipAul;
	}

	
	public Boolean isActive(){
		if(dataInactivitat == null){
			return true;
		}
		return false;
	}
	public Boolean getActive() {
		return active;
	}
	public void setActive(Boolean active) {
		this.active = active;
	}


	@Override
	public String toString() {
		return "Aula [idAula=" + idAula + ", nom=" + nom + ", capacitat="
				+ capacitat + ", localitzacio=" + localitzacio + ", tipusAula="
				+ tipusAula + ", dataAlta=" + dataAlta + ", dataInactivitat="
				+ dataInactivitat + "]";
	}

	
	
	

}
